#pragma once
#include "Math3D.h"
#include "PointLight.h"

namespace MASGK
{

	class CVertexProcessor
	{

		public:
			CPointLight				m_PointLight;		// test...

		private:
			float4x4				m_Obj2World;
			float4x4				m_World2View;
			float4x4				m_View2Proj;
			float4x4				m_ModelViewProj;
			float3					m_Eye;

		public:
			CVertexProcessor();
			~CVertexProcessor();
			
			void SetPerspective(float, float, float, float);
			void SetLookAt(float3, float3, float3);
			void SetIdentity(float4x4&);
			void MultByTranslation(float3);
			void MultByScale(float3);
			void MultByRotation(float, float3);
			float3 Tr(float3);
			void CreateView();
			float3 CountNormal(float3&, float3&, float3&);
			void ResetModelMatrix();
	};
}
